package com.kitten.dataAlign.domain.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * @author kitten
 */
@Mapper
public interface UpdateMapper {

    /**
     * 更新 t_user_count 计数表总关注数
     * @param userId
     * @return
     */
    int updateUserFollowingTotalByUserId(@Param("userId") long userId,
                                         @Param("followingTotal") int followingTotal);

    /**
     * 更新 t_user_count 计数表总粉丝数
     * @param userId
     * @param fansTotal
     * @return
     */
    int updateUserFansTotalByUserId(@Param("userId") long userId,
                                    @Param("fansTotal") int fansTotal);

    /**
     * 更新 t_note_count 笔记表点赞数
     * @param noteId
     * @param likeCount
     * @return
     */
    int updateNoteLikeCountByNoteId(@Param("noteId") long noteId,
                                   @Param("likeCount") int likeCount);

    /**
     * 更新 t_note_count 笔记表收藏数
     * @param noteId
     * @param collectCount
     * @return
     */
    int updateNoteCollectCountByNoteId(@Param("noteId") long noteId,
                                       @Param("collectCount") int collectCount);

    /**
     * 更新 t_user_count 计数表总点赞数
     * @param userId
     * @param likeCount
     * @return
     */
    int updateUserLikeCountByUserId(@Param("userId") long userId,
                                   @Param("likeCount") int likeCount);

    /**
     * 更新 t_user_count 计数表总收藏数
     * @param userId
     * @param collectCount
     * @return
     */
    int updateUserCollectCountByUserId(@Param("userId") long userId,
                                       @Param("collectCount") int collectCount);

    /**
     * 更新 t_user_count 计数表总发布数
     * @param userId
     * @param publishCount
     * @return
     */
    int updateUserPublishCountByUserId(@Param("userId") long userId,
                                       @Param("publishCount") int publishCount);

}
